package br.ufrj.dcc.so.forte.barbearia;


public abstract class Funcionario implements Runnable {
	
	
	private static final int C_ESPERA = 1;
	
	
	/**
	 * Método que fazer com que o funcionário termine seu espediente.
	 */
	public void fimDoDia() {
		try {
			System.out.println("Terminando o "+this.getClass().getSimpleName());
			Thread.currentThread().interrupt();
		} catch (Throwable e) {
			e.printStackTrace();
		}
	}
	
	
	/**
	 * Método que define o tempo que o processo deve ficar parado até que possa
	 * gerar um outro evento.
	 * 
	 * @param tempoEspera
	 *            Tempo que a thread deve ficar dormindo!
	 */
	protected void sleep(long tempoEspera) {
		try {
			Thread.sleep(tempoEspera * C_ESPERA);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
	
	
	
	
	
	
	
	
	
	

}
